package com.cwh.springbootMybatis.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

public class SssfmIoBill {
    /**
     * 主键,取自自动编号器
     */
    private String billId;

    /**
     * 单据号
     */
    private String billNo;

    /**
     * 数据来源,来自其他系统或本系统，YW业务系统,FM手工制单
     */
    private String srcSys;

    /**
     * 单据类型：SR_BKSQ地税征缴收入，SR_DJ社保基金缴款单，SR_CZBZSQ财政补助申请，SR_LX专户利息收入登记，ZF_BKSQ专户拨款单，ZF_BKSQA专户拨款申请单，
       RMT_BKSQ异地就医拨款单,RMT_SQBK异地就医申拨单,SR_RMTSQ异地就医收入单
     */
    private String billType;

    /**
     * 是否调剂,0否;1是
     */
    private String isAdjust;

    /**
     * 是否有效,0否;1是
     */
    private String isValid;

    /**
     * 年度
     */
    private Integer fiscal;

    /**
     * 期间
     */
    private Integer fisPerd;

    /**
     * 业务日期
     */
    private Date busiDate;

    /**
     * 资金性质代码
     */
    private String insTypeCode;

    /**
     * 付款单位代码
     */
    private String payCoCode;

    /**
     * 付款银行代码
     */
    private String payBankCode;

    /**
     * 付款银行名称
     */
    private String payBankName;

    /**
     * 付款银行账号
     */
    private String payBankAccNo;

    /**
     * 付款银行户名
     */
    private String payBankAccName;

    /**
     * 收款单位代码
     */
    private String inCoCode;

    /**
     * 收款银行代码
     */
    private String inBankCode;

    /**
     * 收款银行名称
     */
    private String inBankName;

    /**
     * 收款银行账号
     */
    private String inBankAccNo;

    /**
     * 收款银行户名
     */
    private String inBankAccName;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 工作流ID
     */
    private String processInstId;

    /**
     * 单据状态;00=制单，01=审批中，80=终审，81=作废，90=已支付，91=标记不处理,99=已记账
     */
    private String billStatus;

    /**
     * 国库拨款单id
     */
    private String gkPayBillId;

    /**
     * 申拨人id
     */
    private String appUserId;

    /**
     * 申拨人
     */
    private String appUserName;

    /**
     * 申拨日期
     */
    private Date appDate;

    /**
     * 凭证guid
     */
    private String vouGuid;

    /**
     * 入账人id
     */
    private String accUserId;

    /**
     * 入账人
     */
    private String accUserName;

    /**
     * 入账日期
     */
    private Date accDate;

    /**
     * 制单单位代码
     */
    private String inputCoCode;

    /**
     * 制单人id
     */
    private String inputUserId;

    /**
     * 制单人
     */
    private String inputUserName;

    /**
     * 录入日期
     */
    private Date inputDate;

    /**
     * 备注
     */
    private String remark;

    /**
     * 制单人所在处室
     */
    private String inputOrgCode;

    /**
     * 是否打印过
     */
    private String isPrint;

    /**
     * 比对批次
     */
    private String compBatch;

    /**
     * 比对的id
     */
    private String compId;

    /**
     * 征缴期间起始日期
     */
    private String levyStart;

    /**
     * 征缴期间结束日期
     */
    private String levyEnd;

    /**
     * 
     */
    private String inBanknodeCode;

    /**
     * 
     */
    private String insTypeName;

    /**
     * 
     */
    private String payCoName;

    /**
     * 
     */
    private String inCoName;

    /**
     * 
     */
    private String payBanknodeCode;

    /**
     * 
     */
    private String payBanknodeName;

    /**
     * 
     */
    private String inBanknodeName;

    /**
     * 一体化发送的批次号
     */
    private String sessionId;

    /**
     * 一体化中拨款单的编号
     */
    private String gkBillNo;

    /**
     * 0是默认值，表明本条数据是从财政社保到一体化，1代表本条数据从一体化退款推送到财政社保
     */
    private String gkBillStatus;

    /**
     * 宁夏OA系统指标文号
     */
    private String text;

    /**
     * 来源单据号
     */
    private String srcBillId;

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId == null ? null : billId.trim();
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo == null ? null : billNo.trim();
    }

    public String getSrcSys() {
        return srcSys;
    }

    public void setSrcSys(String srcSys) {
        this.srcSys = srcSys == null ? null : srcSys.trim();
    }

    public String getBillType() {
        return billType;
    }

    public void setBillType(String billType) {
        this.billType = billType == null ? null : billType.trim();
    }

    public String getIsAdjust() {
        return isAdjust;
    }

    public void setIsAdjust(String isAdjust) {
        this.isAdjust = isAdjust == null ? null : isAdjust.trim();
    }

    public String getIsValid() {
        return isValid;
    }

    public void setIsValid(String isValid) {
        this.isValid = isValid == null ? null : isValid.trim();
    }

    public Integer getFiscal() {
        return fiscal;
    }

    public void setFiscal(Integer fiscal) {
        this.fiscal = fiscal;
    }

    public Integer getFisPerd() {
        return fisPerd;
    }

    public void setFisPerd(Integer fisPerd) {
        this.fisPerd = fisPerd;
    }

    public Date getBusiDate() {
        return busiDate;
    }

    public void setBusiDate(Date busiDate) {
        this.busiDate = busiDate;
    }

    public String getInsTypeCode() {
        return insTypeCode;
    }

    public void setInsTypeCode(String insTypeCode) {
        this.insTypeCode = insTypeCode == null ? null : insTypeCode.trim();
    }

    public String getPayCoCode() {
        return payCoCode;
    }

    public void setPayCoCode(String payCoCode) {
        this.payCoCode = payCoCode == null ? null : payCoCode.trim();
    }

    public String getPayBankCode() {
        return payBankCode;
    }

    public void setPayBankCode(String payBankCode) {
        this.payBankCode = payBankCode == null ? null : payBankCode.trim();
    }

    public String getPayBankName() {
        return payBankName;
    }

    public void setPayBankName(String payBankName) {
        this.payBankName = payBankName == null ? null : payBankName.trim();
    }

    public String getPayBankAccNo() {
        return payBankAccNo;
    }

    public void setPayBankAccNo(String payBankAccNo) {
        this.payBankAccNo = payBankAccNo == null ? null : payBankAccNo.trim();
    }

    public String getPayBankAccName() {
        return payBankAccName;
    }

    public void setPayBankAccName(String payBankAccName) {
        this.payBankAccName = payBankAccName == null ? null : payBankAccName.trim();
    }

    public String getInCoCode() {
        return inCoCode;
    }

    public void setInCoCode(String inCoCode) {
        this.inCoCode = inCoCode == null ? null : inCoCode.trim();
    }

    public String getInBankCode() {
        return inBankCode;
    }

    public void setInBankCode(String inBankCode) {
        this.inBankCode = inBankCode == null ? null : inBankCode.trim();
    }

    public String getInBankName() {
        return inBankName;
    }

    public void setInBankName(String inBankName) {
        this.inBankName = inBankName == null ? null : inBankName.trim();
    }

    public String getInBankAccNo() {
        return inBankAccNo;
    }

    public void setInBankAccNo(String inBankAccNo) {
        this.inBankAccNo = inBankAccNo == null ? null : inBankAccNo.trim();
    }

    public String getInBankAccName() {
        return inBankAccName;
    }

    public void setInBankAccName(String inBankAccName) {
        this.inBankAccName = inBankAccName == null ? null : inBankAccName.trim();
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getProcessInstId() {
        return processInstId;
    }

    public void setProcessInstId(String processInstId) {
        this.processInstId = processInstId == null ? null : processInstId.trim();
    }

    public String getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(String billStatus) {
        this.billStatus = billStatus == null ? null : billStatus.trim();
    }

    public String getGkPayBillId() {
        return gkPayBillId;
    }

    public void setGkPayBillId(String gkPayBillId) {
        this.gkPayBillId = gkPayBillId == null ? null : gkPayBillId.trim();
    }

    public String getAppUserId() {
        return appUserId;
    }

    public void setAppUserId(String appUserId) {
        this.appUserId = appUserId == null ? null : appUserId.trim();
    }

    public String getAppUserName() {
        return appUserName;
    }

    public void setAppUserName(String appUserName) {
        this.appUserName = appUserName == null ? null : appUserName.trim();
    }

    public Date getAppDate() {
        return appDate;
    }

    public void setAppDate(Date appDate) {
        this.appDate = appDate;
    }

    public String getVouGuid() {
        return vouGuid;
    }

    public void setVouGuid(String vouGuid) {
        this.vouGuid = vouGuid == null ? null : vouGuid.trim();
    }

    public String getAccUserId() {
        return accUserId;
    }

    public void setAccUserId(String accUserId) {
        this.accUserId = accUserId == null ? null : accUserId.trim();
    }

    public String getAccUserName() {
        return accUserName;
    }

    public void setAccUserName(String accUserName) {
        this.accUserName = accUserName == null ? null : accUserName.trim();
    }

    public Date getAccDate() {
        return accDate;
    }

    public void setAccDate(Date accDate) {
        this.accDate = accDate;
    }

    public String getInputCoCode() {
        return inputCoCode;
    }

    public void setInputCoCode(String inputCoCode) {
        this.inputCoCode = inputCoCode == null ? null : inputCoCode.trim();
    }

    public String getInputUserId() {
        return inputUserId;
    }

    public void setInputUserId(String inputUserId) {
        this.inputUserId = inputUserId == null ? null : inputUserId.trim();
    }

    public String getInputUserName() {
        return inputUserName;
    }

    public void setInputUserName(String inputUserName) {
        this.inputUserName = inputUserName == null ? null : inputUserName.trim();
    }

    public Date getInputDate() {
        return inputDate;
    }

    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getInputOrgCode() {
        return inputOrgCode;
    }

    public void setInputOrgCode(String inputOrgCode) {
        this.inputOrgCode = inputOrgCode == null ? null : inputOrgCode.trim();
    }

    public String getIsPrint() {
        return isPrint;
    }

    public void setIsPrint(String isPrint) {
        this.isPrint = isPrint == null ? null : isPrint.trim();
    }

    public String getCompBatch() {
        return compBatch;
    }

    public void setCompBatch(String compBatch) {
        this.compBatch = compBatch == null ? null : compBatch.trim();
    }

    public String getCompId() {
        return compId;
    }

    public void setCompId(String compId) {
        this.compId = compId == null ? null : compId.trim();
    }

    public String getLevyStart() {
        return levyStart;
    }

    public void setLevyStart(String levyStart) {
        this.levyStart = levyStart == null ? null : levyStart.trim();
    }

    public String getLevyEnd() {
        return levyEnd;
    }

    public void setLevyEnd(String levyEnd) {
        this.levyEnd = levyEnd == null ? null : levyEnd.trim();
    }

    public String getInBanknodeCode() {
        return inBanknodeCode;
    }

    public void setInBanknodeCode(String inBanknodeCode) {
        this.inBanknodeCode = inBanknodeCode == null ? null : inBanknodeCode.trim();
    }

    public String getInsTypeName() {
        return insTypeName;
    }

    public void setInsTypeName(String insTypeName) {
        this.insTypeName = insTypeName == null ? null : insTypeName.trim();
    }

    public String getPayCoName() {
        return payCoName;
    }

    public void setPayCoName(String payCoName) {
        this.payCoName = payCoName == null ? null : payCoName.trim();
    }

    public String getInCoName() {
        return inCoName;
    }

    public void setInCoName(String inCoName) {
        this.inCoName = inCoName == null ? null : inCoName.trim();
    }

    public String getPayBanknodeCode() {
        return payBanknodeCode;
    }

    public void setPayBanknodeCode(String payBanknodeCode) {
        this.payBanknodeCode = payBanknodeCode == null ? null : payBanknodeCode.trim();
    }

    public String getPayBanknodeName() {
        return payBanknodeName;
    }

    public void setPayBanknodeName(String payBanknodeName) {
        this.payBanknodeName = payBanknodeName == null ? null : payBanknodeName.trim();
    }

    public String getInBanknodeName() {
        return inBanknodeName;
    }

    public void setInBanknodeName(String inBanknodeName) {
        this.inBanknodeName = inBanknodeName == null ? null : inBanknodeName.trim();
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId == null ? null : sessionId.trim();
    }

    public String getGkBillNo() {
        return gkBillNo;
    }

    public void setGkBillNo(String gkBillNo) {
        this.gkBillNo = gkBillNo == null ? null : gkBillNo.trim();
    }

    public String getGkBillStatus() {
        return gkBillStatus;
    }

    public void setGkBillStatus(String gkBillStatus) {
        this.gkBillStatus = gkBillStatus == null ? null : gkBillStatus.trim();
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text == null ? null : text.trim();
    }

    public String getSrcBillId() {
        return srcBillId;
    }

    public void setSrcBillId(String srcBillId) {
        this.srcBillId = srcBillId == null ? null : srcBillId.trim();
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SssfmIoBill that = (SssfmIoBill) o;
        return Objects.equals(billId, that.billId) &&
                Objects.equals(billNo, that.billNo) &&
                Objects.equals(srcSys, that.srcSys) &&
                Objects.equals(billType, that.billType) &&
                Objects.equals(isAdjust, that.isAdjust) &&
                Objects.equals(isValid, that.isValid) &&
                Objects.equals(fiscal, that.fiscal) &&
                Objects.equals(fisPerd, that.fisPerd) &&
                Objects.equals(busiDate, that.busiDate) &&
                Objects.equals(insTypeCode, that.insTypeCode) &&
                Objects.equals(payCoCode, that.payCoCode) &&
                Objects.equals(payBankCode, that.payBankCode) &&
                Objects.equals(payBankName, that.payBankName) &&
                Objects.equals(payBankAccNo, that.payBankAccNo) &&
                Objects.equals(payBankAccName, that.payBankAccName) &&
                Objects.equals(inCoCode, that.inCoCode) &&
                Objects.equals(inBankCode, that.inBankCode) &&
                Objects.equals(inBankName, that.inBankName) &&
                Objects.equals(inBankAccNo, that.inBankAccNo) &&
                Objects.equals(inBankAccName, that.inBankAccName) &&
                Objects.equals(amount, that.amount) &&
                Objects.equals(processInstId, that.processInstId) &&
                Objects.equals(billStatus, that.billStatus) &&
                Objects.equals(gkPayBillId, that.gkPayBillId) &&
                Objects.equals(appUserId, that.appUserId) &&
                Objects.equals(appUserName, that.appUserName) &&
                Objects.equals(appDate, that.appDate) &&
                Objects.equals(vouGuid, that.vouGuid) &&
                Objects.equals(accUserId, that.accUserId) &&
                Objects.equals(accUserName, that.accUserName) &&
                Objects.equals(accDate, that.accDate) &&
                Objects.equals(inputCoCode, that.inputCoCode) &&
                Objects.equals(inputUserId, that.inputUserId) &&
                Objects.equals(inputUserName, that.inputUserName) &&
                Objects.equals(inputDate, that.inputDate) &&
                Objects.equals(remark, that.remark) &&
                Objects.equals(inputOrgCode, that.inputOrgCode) &&
                Objects.equals(isPrint, that.isPrint) &&
                Objects.equals(compBatch, that.compBatch) &&
                Objects.equals(compId, that.compId) &&
                Objects.equals(levyStart, that.levyStart) &&
                Objects.equals(levyEnd, that.levyEnd) &&
                Objects.equals(inBanknodeCode, that.inBanknodeCode) &&
                Objects.equals(insTypeName, that.insTypeName) &&
                Objects.equals(payCoName, that.payCoName) &&
                Objects.equals(inCoName, that.inCoName) &&
                Objects.equals(payBanknodeCode, that.payBanknodeCode) &&
                Objects.equals(payBanknodeName, that.payBanknodeName) &&
                Objects.equals(inBanknodeName, that.inBanknodeName) &&
                Objects.equals(sessionId, that.sessionId) &&
                Objects.equals(gkBillNo, that.gkBillNo) &&
                Objects.equals(gkBillStatus, that.gkBillStatus) &&
                Objects.equals(text, that.text) &&
                Objects.equals(srcBillId, that.srcBillId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(billId, billNo, srcSys, billType, isAdjust, isValid, fiscal, fisPerd, busiDate, insTypeCode, payCoCode, payBankCode, payBankName, payBankAccNo, payBankAccName, inCoCode, inBankCode, inBankName, inBankAccNo, inBankAccName, amount, processInstId, billStatus, gkPayBillId, appUserId, appUserName, appDate, vouGuid, accUserId, accUserName, accDate, inputCoCode, inputUserId, inputUserName, inputDate, remark, inputOrgCode, isPrint, compBatch, compId, levyStart, levyEnd, inBanknodeCode, insTypeName, payCoName, inCoName, payBanknodeCode, payBanknodeName, inBanknodeName, sessionId, gkBillNo, gkBillStatus, text, srcBillId);
    }
}